import { reject, resolve } from 'core-js/fn/promise'
import { createVNode, render } from 'vue'
import XTXconfirm from './xtx-confirm.vue'

// DOM容器
const div = document.createElement('div')
div.setAttribute('class', 'xtx-confirm-container')
document.body.appendChild(div)



export default ({ title, text }) => {
    // 1. 导入被创建的组件
    // 2. 使用createVNode创建虚拟节点a
    // 3. 准备一个dom容器装载组件
    // 4. 使用render函数渲染组件到容器
    return new Promise((resolve, reject)=>{
        const cancelCallBack = () => {
            render(null, div)
            reject(new Error('点击取消'))
        }
    
        const submitCallBack = () => {
            render(null, div)
            resolve()
        }
        const vm = createVNode(XTXconfirm, {title, text, cancelCallBack, submitCallBack})

        render(vm, div)
    })
}
